package com.g24.partychecker;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;

public class Instellingen extends Activity
{	
	DBASettings mDbSettings;
	protected long ROWID = 1;
	protected String REGIO;
	protected String GENRE;
	public String PROVINCIE;
	
	public class ProvincieSelectedListner implements OnItemSelectedListener 
	{
	    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) 
	    {
	    	Spinner regio_dr = (Spinner) findViewById(R.id.Spin_Regio_DR);
	        Spinner regio_fl = (Spinner) findViewById(R.id.Spin_Regio_FL);
	        Spinner regio_fr = (Spinner) findViewById(R.id.Spin_Regio_FR);
	        Spinner regio_ge = (Spinner) findViewById(R.id.Spin_Regio_GE);
	        Spinner regio_gr = (Spinner) findViewById(R.id.Spin_Regio_GR);
	        Spinner regio_li = (Spinner) findViewById(R.id.Spin_Regio_LI);
	        Spinner regio_nb = (Spinner) findViewById(R.id.Spin_Regio_NB);
	        Spinner regio_nh = (Spinner) findViewById(R.id.Spin_Regio_NH);
	        Spinner regio_ov = (Spinner) findViewById(R.id.Spin_Regio_OV);
	        Spinner regio_ut = (Spinner) findViewById(R.id.Spin_Regio_UT);
	        Spinner regio_ze = (Spinner) findViewById(R.id.Spin_Regio_ZE);
	        Spinner regio_zh = (Spinner) findViewById(R.id.Spin_Regio_ZH);
	        
	        PROVINCIE = parent.getItemAtPosition(pos).toString();
	        
	        int prov_pos = parent.getSelectedItemPosition();
	        	        
	        switch (prov_pos)
	        {
	        	default:
	        		break;
	        	case 0:
	        		regio_dr.setVisibility(0); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 1:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(0); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 2:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(0);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 3:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(0); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 4:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(0); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 5:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(0);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 6:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(0); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 7:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(0); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 8:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(0);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 9:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(0); regio_ze.setVisibility(8); regio_zh.setVisibility(8);
	        		break;
	        	case 10:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(0); regio_zh.setVisibility(8);
	        		break;
	        	case 11:
	        		regio_dr.setVisibility(8); regio_fl.setVisibility(8); regio_fr.setVisibility(8);
	        		regio_ge.setVisibility(8); regio_gr.setVisibility(8); regio_li.setVisibility(8);
	        		regio_nb.setVisibility(8); regio_nh.setVisibility(8); regio_ov.setVisibility(8);
	        		regio_ut.setVisibility(8); regio_ze.setVisibility(8); regio_zh.setVisibility(0);
	        		break;
	        }   
	    }
	
	    public void onNothingSelected(AdapterView parent)
	    {
	      // Do nothing.
	    }
	}
	
	public class RegioSelectedListner implements OnItemSelectedListener 
	{
	    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) 
	    {        
	    	REGIO = parent.getItemAtPosition(pos).toString();
	    	System.out.println(REGIO);
	    }
	
	    public void onNothingSelected(AdapterView parent)
	    {
	      // Do nothing.
	    }
	}
	
	public class GenreSelectedListner implements OnItemSelectedListener 
	{
	    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) 
	    {        
	    	GENRE = parent.getItemAtPosition(pos).toString();
	    	System.out.println(GENRE);
	    }
	
	    public void onNothingSelected(AdapterView parent)
	    {
	      // Do nothing.
	    }
	}
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.instellingen);
        
        mDbSettings = new DBASettings(this);
        mDbSettings.open();
        
        Spinner spin_prov = (Spinner) findViewById(R.id.Spinner_Prov);
        ArrayAdapter adapter_p = ArrayAdapter.createFromResource(
                this, R.array.Provincies, android.R.layout.simple_spinner_item);
        adapter_p.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_prov.setAdapter(adapter_p);
        spin_prov.setOnItemSelectedListener(new ProvincieSelectedListner());
        
        Spinner spin_regio_dr = (Spinner) findViewById(R.id.Spin_Regio_DR);
        ArrayAdapter adapter_dr = ArrayAdapter.createFromResource(
                this, R.array.regio_dr, android.R.layout.simple_spinner_item);
        adapter_dr.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_dr.setAdapter(adapter_dr);
        spin_regio_dr.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_fl = (Spinner) findViewById(R.id.Spin_Regio_FL);
        ArrayAdapter adapter_fl = ArrayAdapter.createFromResource(
                this, R.array.regio_fl, android.R.layout.simple_spinner_item);
        adapter_dr.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_fl.setAdapter(adapter_fl);
        spin_regio_fl.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_fr = (Spinner) findViewById(R.id.Spin_Regio_FR);
        ArrayAdapter adapter_fr = ArrayAdapter.createFromResource(
                this, R.array.regio_fr, android.R.layout.simple_spinner_item);
        adapter_fr.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_fr.setAdapter(adapter_fr);
        spin_regio_fr.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_ge = (Spinner) findViewById(R.id.Spin_Regio_GE);
        ArrayAdapter adapter_ge = ArrayAdapter.createFromResource(
                this, R.array.regio_ge, android.R.layout.simple_spinner_item);
        adapter_ge.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_ge.setAdapter(adapter_ge);
        spin_regio_ge.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_gr = (Spinner) findViewById(R.id.Spin_Regio_GR);
        ArrayAdapter adapter_gr = ArrayAdapter.createFromResource(
                this, R.array.regio_gr, android.R.layout.simple_spinner_item);
        adapter_gr.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_gr.setAdapter(adapter_gr);
        spin_regio_gr.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_li = (Spinner) findViewById(R.id.Spin_Regio_LI);
        ArrayAdapter adapter_li = ArrayAdapter.createFromResource(
                this, R.array.regio_li, android.R.layout.simple_spinner_item);
        adapter_li.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_li.setAdapter(adapter_li);
        spin_regio_li.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_nb = (Spinner) findViewById(R.id.Spin_Regio_NB);
        ArrayAdapter adapter_nb = ArrayAdapter.createFromResource(
                this, R.array.regio_nb, android.R.layout.simple_spinner_item);
        adapter_nb.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_nb.setAdapter(adapter_nb);
        spin_regio_nb.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_nh = (Spinner) findViewById(R.id.Spin_Regio_NH);
        ArrayAdapter adapter_nh = ArrayAdapter.createFromResource(
                this, R.array.regio_nh, android.R.layout.simple_spinner_item);
        adapter_nh.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_nh.setAdapter(adapter_nh);
        spin_regio_nh.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_ov = (Spinner) findViewById(R.id.Spin_Regio_OV);
        ArrayAdapter adapter_ov = ArrayAdapter.createFromResource(
                this, R.array.regio_ov, android.R.layout.simple_spinner_item);
        adapter_ov.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_ov.setAdapter(adapter_ov);
        spin_regio_ov.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_ut = (Spinner) findViewById(R.id.Spin_Regio_UT);
        ArrayAdapter adapter_ut = ArrayAdapter.createFromResource(
                this, R.array.regio_ut, android.R.layout.simple_spinner_item);
        adapter_ut.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_ut.setAdapter(adapter_ut);
        spin_regio_ut.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_ze = (Spinner) findViewById(R.id.Spin_Regio_ZE);
        ArrayAdapter adapter_ze = ArrayAdapter.createFromResource(
                this, R.array.regio_ze, android.R.layout.simple_spinner_item);
        adapter_ze.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_ze.setAdapter(adapter_ze);
        spin_regio_ze.setOnItemSelectedListener(new RegioSelectedListner());
        
        Spinner spin_regio_zh = (Spinner) findViewById(R.id.Spin_Regio_ZH);
        ArrayAdapter adapter_zh = ArrayAdapter.createFromResource(
                this, R.array.regio_zh, android.R.layout.simple_spinner_item);
        adapter_zh.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_regio_zh.setAdapter(adapter_zh);
        spin_regio_zh.setOnItemSelectedListener(new RegioSelectedListner());
        
        
     
        Spinner spin_genre = (Spinner) findViewById(R.id.Spin_mgenre);
        ArrayAdapter adapter_genre = ArrayAdapter.createFromResource(
                this, R.array.genres, android.R.layout.simple_spinner_item);
        adapter_genre.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin_genre.setAdapter(adapter_genre);
        spin_genre.setOnItemSelectedListener(new GenreSelectedListner());
        
        
        
        Button terug = (Button) findViewById(R.id.terug_button);
        terug.setOnClickListener(new View.OnClickListener() 
        {
           public void onClick(View arg0) 
           {
	           Intent i = new Intent(Instellingen.this, Hoofdscherm.class);
	           startActivity(i);
           }
        });
        
        Button opslaan = (Button) findViewById(R.id.opslaan_button);
        opslaan.setOnClickListener(new View.OnClickListener()
        {        	
        	public void onClick(View arg0) 
        	{
            	saveSettings();
        	}

			private void saveSettings() 
			{
				Cursor c = mDbSettings.fetchSetting(ROWID);
		        startManagingCursor(c);
		        c.moveToFirst();
		        int telRij = c.getCount();
		        if(telRij > 0)
		        {		        
		        	mDbSettings.updateSetting(ROWID, PROVINCIE, REGIO, GENRE);
		        	System.out.println("Updating Settings");
		        }
		        else
		        {
		        	mDbSettings.createSetting(PROVINCIE, REGIO, GENRE);
		        	System.out.println("Creating Settings");
		        }
			}
        });
        	
    }
}